package com.lianyun.day01;

public class Demo {
    public static void main(String[] args){
        //byte i = 4;
      //  i = (byte)(i+4);


        //System.out.println('a'+1);//根据ASCII编码表中 a为01100001=97，97+1=98
        //System.out.println((char)('a'+1));
        //强制转换数据类型
        //（char）为强制转换为字符型
        // 根据编码表中，a为01100001，a+1=01100010
        // 根据编码表查询到01100010为b，通过（char）转换，打印了b

        //byte b=4;
        //b=3+7;
       // byte b1=3;
        //byte b2=7;
        //b=b1+b2;

        /*int x = 4;
        int x1 = Integer.MAX_VALUE;
        int x2 = 7;
        x = x1 + x2;*/

        //算数运算符 + — * /

        //int x = 6370;
        //x = x / 1000;

        //java 为强类型语言，int 为整数的数据类型，
        // 赋值x=6370 为整数，
        // 1000也为整数
        // 因此一个整数除以另一个整数的结果认为整数，结果为6

        // %(取余，模运算）
        // 5*2=1 余数为1，取1
        // 2%5=2，3
        // 5%5=0, 余数为0， 取0

        // -5%2=-1
        // 5%-2=1
        //涉及负数运算的时候，负号只参考被模数，前者。前者有负号，结果为负，反之，则不受影响。

        //任何数%2，结果为1或0


        // + 还可以作为连接符
        // 任何数据和字符串用加号进行相加，都为相连接

        //System.out.println(3+2); 5
        //System.out.println(3+"2"); 32 这一整个为字符串string,不是32，是3 2.

        //System.out.println("5+5="+5+5); 5+5=55, ，
        // 前一个字符串为5+5=
        // 5和5 也通过字符串想连接，为55，
        //因此结果为5+5=55

        //System.out.println("5+5="+(5+5));  5+5=10
        //和之前的不同点在于先算括号中的数值（5+5）
        //两个整数通过加号相加，+不为连接符
        //因此结果为10

        //int a = 4, b = 5;
        //System.out.println(a+b); 9
        //System.out.println(a+","+b); 4,5
        //System.out.println("a="+a+","+"b="+b); a=4, b=5

        /*int a = 3;
        a++; a=a+1
        System.out.println(a); 4*/

        /*int a = 3, b;
        b = a++;
        System.out.println("a="+a+","+"b="+b); a=4,b=3

        int a = 3, b;
        b = ++a;
        System.out.println("a="+a+","+"b="+b); a=4,b=4*/

        /*int i = 3;
        i = i++;
        System.out.println("i="+i);*/

        //赋值运算符 =
        // +=(将左右两边的和赋给左边）
        // -=（将左右两边的差赋给左边）
        // *=（将左右两边的积赋给左边）
        // /=（将左右两边的商赋给左边）
        // %=（将左右两边的余数赋给左边）
       /* int a,b,c;
        a = b =c = 4;*/

       /* int a = 4;
        a += 2; a = a +2, 6*/

        //short a = 4;
        //a = (short)(a+4);

        //2<x<5 在java中表达方式为 x>2 & x<5

       // int x = 3;

       // int x = 1;

      // System.out.println(x>2 && x<5); false

        // 6 转换为二进制为110
        // 3 转换为二进制为011

        System.out.println(~6);














    }
}
